package com.cskaoyan.javase.oop1._9wrapper;

/**
 * 基本数据类型 --> 包装类型
 * byte -->  Byte
 * short --> Short
 * int  -->  Integer
 * long --> Long
 *
 * float ---> Float
 * double ---> Double
 *
 * char --> Character
 * boolean ---> Boolean
 *
 * 除了基本数据类型,包装类型还有一个Void
 *
 * 包装类有什么用途？
 * 1. 包装类把基本数据类型变为一个对象，并且存在自动拆装箱，有些时候这本身就是一个用途
 * 2. 包装类当中包含了其对应基本类型的相关属性，如最大值，最小值，所占位数等等
 * 3. 包装类作为基本数据类型对应的引用数据类型，提供了一系列实用的对象操作，如类型转换，进制转换等
 * 4. 特殊的，集合（容器）中是不允许装基本数据类型的，可以在集合中使用对应的包装类存储基本数据类型
 *
 * @since 14:41
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        int num = Byte.MAX_VALUE + 1;
        System.out.println(num);
        System.out.println(((byte) num));

        int num2 = Short.MAX_VALUE + 1;
        System.out.println(num2);
        System.out.println(((short) num2));

        // Numeric overflow in expression
        long num3 = Long.MAX_VALUE + 1;

        System.out.println(Character.MAX_VALUE + 1);
        System.out.println(Character.MAX_VALUE);
        int num4 = Character.MAX_VALUE + 1;
        // \u0000编码值为0的字符
        System.out.println(((char) num4) );


    }
}
